using System;
using Microsoft.Reporting.WebForms;

namespace BizElements.Web
{
    /// <summary>Translates report viewer UI using messages stored in <see cref="UserSession.MessageSource"/>.</summary>
    class ReportViewerMessages : IReportViewerMessages
    {
        private static string GetString(string key)
        {
            return UserSession.MessageSource.GetString(key);
        }

        #region Implemented.

        /// <summary>Gets string stored under the <b>ReportViewerMessages_ExportButtonText</b> key.</summary>
        public string ExportButtonText
        {
            get { return GetString("ReportViewerMessages_ExportButtonText"); }
        }

        /// <summary>Gets string stored under the <b>ReportViewerMessages_InvalidPageNumber</b> key.</summary>
        public string InvalidPageNumber
        {
            get { return GetString("ReportViewerMessages_InvalidPageNumber"); }
        }

        /// <summary>Gets string stored under the <b>ReportViewerMessages_PageOf</b> key.</summary>
        public string PageOf
        {
            get { return GetString("ReportViewerMessages_PageOf"); }
        }

        /// <summary>Gets string stored under the <b>ReportViewerMessages_SelectFormat</b> key.</summary>
        public string SelectFormat
        {
            get { return GetString("ReportViewerMessages_SelectFormat"); }
        }

        /// <summary>Gets string stored under the <b>ReportViewerMessages_ZoomToPageWidth</b> key.</summary>
        public string ZoomToPageWidth
        {
            get { return GetString("ReportViewerMessages_ZoomToPageWidth"); }
        }

        /// <summary>Gets string stored under the <b>ReportViewerMessages_ZoomToWholePage</b> key.</summary>
        public string ZoomToWholePage
        {
            get { return GetString("ReportViewerMessages_ZoomToWholePage"); }
        }

        #endregion

        #region Erased.

        /// <summary>Returns empty string.</summary>
        public string CurrentPageTextBoxToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string ExportButtonToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string FirstPageButtonToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string LastPageButtonToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string NextPageButtonToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string PreviousPageButtonToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string ProgressText
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string ZoomControlToolTip
        {
            get { return ""; }
        }

        /// <summary>Returns empty string.</summary>
        public string ExportFormatsToolTip
        {
            get { return ""; }
        }

        #endregion

        #region Not implemented.

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string BackButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string ChangeCredentialsText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string ChangeCredentialsToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string DocumentMap
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string DocumentMapButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string FalseValueText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string FindButtonText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string FindButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string FindNextButtonText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string FindNextButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string NoMoreMatches
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string NullCheckBoxText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string NullValueText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string ParameterAreaButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string PasswordPrompt
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string PrintButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string RefreshButtonToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string SearchTextBoxToolTip
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string SelectAValue
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string SelectAll
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string TextNotFound
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string TodayIs
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string TrueValueText
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string UserNamePrompt
        {
            get { return null; }
        }

        /// <summary>Not implemented. Deault implementation is used.</summary>
        public string ViewReportButtonText
        {
            get { return null; }
        }        

        #endregion
    }
}
